package com.deco.back.controller.system;

import com.deco.domain.vo.fix.FixTypeVo;
import com.deco.domain.vo.sys.CmsRoleVo;
import com.deco.service.sys.CmsRoleService;
import com.free.common.vo.PageResponseVo;
import com.free.common.vo.PageSearchVo;
import com.free.common.vo.ResultModel;
import com.free.ext.web.spring.annoation.PageSearch;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;

/**
 * <p>
 * 功能概述:
 * </p>
 * <p>
 * 功能详述:
 * </p>
 */
@Controller
public class CmsRoleController {
    /*========================================================================*
     *                         Public Fields (公共属性)
     *========================================================================*/

    /*========================================================================*
     *                         Private Fields (私有属性)
     *========================================================================*/
    @Autowired
    private CmsRoleService roleSerivce;
    /*========================================================================*
     *                         Construct Methods (构造方法)
     *========================================================================*/

    /*========================================================================*
     *                         Public Methods (公有方法)
     *========================================================================*/
    @RequestMapping(value = "/cms_role_list.do")
    public ModelAndView listView(){
        ModelAndView mv = new ModelAndView("system/cmsrolelist");
        return mv;
    }

    @RequestMapping(value = "/cms_role_list_data.do")
    @ResponseBody
    public PageResponseVo<CmsRoleVo> listData(@PageSearch PageSearchVo<CmsRoleVo> condition){
        return roleSerivce.selectPageInfoByCmsRole(condition);
    }

    @RequestMapping(value = "/cms_role_edit.do")
    public ModelAndView editFixType(Integer id){
        CmsRoleVo vo = null;
        ModelAndView mv = new ModelAndView("system/cmsroleedit");
        if(id != null){
            vo = roleSerivce.getCmsRole(id);
            mv.addObject("actNm","更新");
        }else{
            vo = new CmsRoleVo();
            mv.addObject("actNm","新增");
        }
        mv.addObject("obj",vo);
        return mv;
    }

    @RequestMapping(value ="/cms_role_del.do")
    @ResponseBody
    public ResultModel delete(Integer id){
        return roleSerivce.delete(id);
    }

    @RequestMapping(value ="/cms_role_add.do")
    @ResponseBody
    public ResultModel add(CmsRoleVo vo){
        return roleSerivce.save(vo);
    }

    @RequestMapping(value ="/cms_role_edit_sub.do")
    @ResponseBody
    public ResultModel edit(CmsRoleVo vo){
        return roleSerivce.save(vo);
    }

    /*========================================================================*
     *                         Private Methods (私有方法)
     *========================================================================*/
}
